/**
 * 在带头结点的单链表L中，删除所有值为x的结点，并释放空间，假设值为x的结点不唯一
 * 
 * */

void Delete_X(LinkedList& L, ElemType x)
{
	LNode* p = L->next;
	LNode* pre = L;
	LNode* del_node;

	while(p) {
		if(p->data == x) {
			del_node = x;
			p = p->next;
			pre->next = p;
			free(del_node);
			del_node = NULL;	//指针悬空
		} else {
			pre = p;
			p = p->next;
		}
	}
}